package com.doitedu.core

import com.doitedu.utils.SparkUtil
import org.apache.spark.rdd.JdbcRDD

/**
 * @Date: 22.6.28 
 * @Author: HANGGE
 * @qq: 598196583
 * @Tips: 学大数据 ,到多易教育
 * @Description:
 *   主要处理海量离线数据  HDFS 使用了hadoop生态的文件格式
 *      hadoopFile  :  inputFormatClass
 */
object C06MakeRDD_File {
  def main(args: Array[String]): Unit = {

    val sc = SparkUtil.getSparkContext("mkRDD_file")
    //sequenceFile 首尾相连的KV数据 zss_23|lss_33|ww_44
    //sc.sequenceFile()
    // 可以加载HDFS指定路径下的文件  返回 RDD
    // 可以以行为单位迭代
   val fileRDD =  sc.textFile("hdfs://linux01:8020/spark/data/wc")
    // fileRDD 如果两个分区  理解:会生成两个Task 并行处理文件夹下的数据   T1  T2
    val partitions = fileRDD.getNumPartitions

    /**
     * 思考:
     *    MR加载HDFS上的数据  maptask的个数如何计算的????
     *    根据输入路径下文件的个数和文件的大小
     *    分数数  可以简单的理解成并行度   两个任务同时处理这个文件中的数据
     */
    println(partitions)
  }

}
